IN 操作符

发表于 2018-3-6 09:04:29 | 分类于 SQL |

IN 操作符

N 操作符允许在 WHERE 子句中规定多个值。

语法

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

示例

示例使用样本数据库。

该库包含 "Websites" 表:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

IN 操作符实例

选取 name 为 "Google" 或 "菜鸟教程" 的所有网站:

SELECT * FROM Websites
WHERE name IN ('Google','菜鸟教程');

执行输出结果:

mysql> SELECT * FROM Websites
    -> WHERE name IN ('Google','菜鸟教程');

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
+----+---------------+---------------------------+-------+---------+

更多

IN 与 = 的异同

  • 相同点:均在 WHERE 中使用作为筛选条件之一、均是等于的含义
  • 不同点:IN 可以规定多个值,等于规定一个值

IN

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

=

SELECT column_name(s)
FROM table_name
WHERE column_name=value1;